package cn.sw.common.database.domain.entity;

import cn.sw.common.database.architecture.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 文件表
 * @author 张众森 (个人博客:https://)
 * @date 2025-06-09
 * @tags 做一个优秀的全栈架构
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("sys_files_fragmentation")
@ApiModel(value = "FilesFragmentation对象", description = "文件表")
public class FilesFragmentation extends BaseEntity {
    /**
     * 文件上传id
     */
    @ApiModelProperty("文件上传id")
    @TableField("upload_id")
    private String uploadId;
    /**
     * 文件计算md5
     */
    @ApiModelProperty("文件计算md5")
    @TableField("md5")
    private String md5;
    /**
     * 文件访问地址
     */
    @ApiModelProperty("文件访问地址")
    @TableField("url")
    private String url;
    /**
     * 存储桶
     */
    @ApiModelProperty("存储桶")
    @TableField("bucket")
    private String bucket;
    /**
     * minio中文件名
     */
    @ApiModelProperty("minio中文件名")
    @TableField("object")
    private String object;
    /**
     * 原始文件名
     */
    @ApiModelProperty("原始文件名")
    @TableField("origin_file_name")
    private String originFileName;
    /**
     * 文件大小
     */
    @ApiModelProperty("文件大小")
    @TableField("size")
    private Long size;
    /**
     * 文件类型
     */
    @ApiModelProperty("文件类型")
    @TableField("type")
    private String type;
    /**
     * 分片大小
     */
    @ApiModelProperty("分片大小")
    @TableField("chunk_size")
    private Long chunkSize;
    /**
     * 分片数量
     */
    @ApiModelProperty("分片数量")
    @TableField("chunk_count")
    private Integer chunkCount;
    /**
     * 是否删除
     */
    @ApiModelProperty("是否删除")
    @TableField("is_delete")
    private String isDelete;
}